import { type ResType } from '@ac/types';
import { fetch } from '@ac/utils';
import qs from 'qs';

// 定义登录请求的参数类型
export interface ILoginParams {
	userName: string;
	userPass: string;
	checkcodeKey?: string;
	vcode?: string;
}

// 定义登录请求的响应类型
export interface ILoginResponse {
	id: 0;
	phone: string;
	nickName: string;
	createTime: string;
	email: string;
	wechat: string;
	qq: string;
	token: string;
}

// 用户名密码登录
export const loginWithPass = (data: ILoginParams) => {
	// post<T> 的泛型 T 指定了成功时返回的数据 data 的类型
	return fetch.post<ResType<ILoginResponse>>('/frame/loginWithPass', qs.stringify(data));
};

// 获取验证码
export const getGeneratePic = (data: { checkcode: string }) => {
	return `${import.meta.env.VITE_API_BASE_URL}/frame/generatePic?checkcode=${data.checkcode}`;
};

export const showPath = (data: { domainName: string }) => {
	return fetch.post<string>('/frame/showPath', qs.stringify(data));
};
